#pragma once

#include "AESDefs.h"

	/**
	 * accessors to the AES configuration
	 * 
	 */

int get_nRounds		(AESConfiguration* cfg);
int get_nKeyChunks	(AESConfiguration* cfg);
int get_nDataChunks	(AESConfiguration* cfg);

int set_nRounds		(AESConfiguration* cfg, int nRounds);
int set_nKeyChunks	(AESConfiguration* cfg, int nKeyChunks);
int set_nDataChunks	(AESConfiguration* cfg, int nDataChunks);

void perror (int errorCode);


	/**
	 * accessors to the Secrecy System parameters
	 * 
	 */

SecrecyLevel get_secrecyLevel (SecrecySystem* system);
byte**		 get_keyRef (SecrecySystem* system);
int			 get_keyLength (SecrecySystem* system);

int			 set_secrecyLevel (SecrecySystem* system, SecrecyLevel level);
int			 set_keyRef (SecrecySystem* system, byte* key, int keyLength);
